package jianzhiOffer;

public class test02 {

    public static String addBinary(String a, String b) {
        StringBuilder sum = new StringBuilder();
        int i =a.length()-1;
        int j =b.length()-1;
        int temp = 0;
        while(i>=0||j>=0){
            if(i>=0&&j>=0){
                if(a.charAt(i)=='1'&&b.charAt(j)=='1'){
                    // System.out.print(sum);
                    if(temp==1){
                        sum.append('1');
                    }else{
                        sum.append('0');
                        temp=1;
                    }
                }else if((a.charAt(i)=='1'&&b.charAt(j)=='0')||(a.charAt(i)=='0'&&b.charAt(j)=='1')){
                    if(temp==1){
                        sum.append('0');
                    }else{
                        sum.append('1');
                        temp=0;
                    }
                }else {
                    if(temp==1){
                        sum.append('1');
                        temp=0;
                    }else
                        sum.append('0');
                }
            }else if(i>=0){
                if(a.charAt(i)=='1'&&temp==1)
                    sum.append('0');
                else{
                    if(temp==1){
                        sum.append('1');
                        temp =0;
                    }else{
                        sum.append(a.charAt(i));
                    }
                }
            }else{
                if(b.charAt(j)=='1'&&temp==1)
                    sum.append('0');
                else{
                    if(temp==1){
                        sum.append('1');
                        temp =0;
                    }else{
                        sum.append(b.charAt(j));
                    }
                }
            }
            i--;
            j--;
        }
        if(temp==1)
            sum.append('1');
        return sum.reverse().toString();
    }
    public static void main(String[] args) {
        String b=     "1011";
        String a= "10001101";
        String s = addBinary(a,b);
        System.out.println(s);
    }
}
